home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload Trio 2 / Shareware Overload Trio Volume 2 (Chestnut CD-ROM).ISO / dir42 / ja94ex.zip / SCROLL.CMD next >
OS/2 REXX Batch file  |  1994-07-19  |  4KB  |  175 lines

  1. *(WALKLIST.CMD 
  2.   scroll through a list of customers )
  3. SET MESSAGE OFF
  4. SET ERROR MESSAGE OFF
  5. DROP CURSOR C1
  6. CLS
  7.  
  8. DECLARE C1 scroll CURSOR FOR +
  9.   SELECT CustId, LastName, Company FROM Customer +
  10.    WHERE calldate = .#DATE ORDER BY Company
  11.  
  12. OPEN C1
  13. FETCH FIRST FROM C1 INTO +
  14.   VCustId ICustId, VLastname ILastname, +
  15.   VCompany ICompany
  16. WHILE SQLCODE <> 100 THEN
  17.  
  18.   EDIT USING cust WHERE CustId = .VCustId
  19.   CHOOSE VAction FROM WALKLIST.MNU AT 10 51 FOOT
  20.   IF VAction = '[ESC]' THEN
  21.     RETURN
  22.   ENDIF
  23.  
  24.   SWITCH (.VAction)
  25.  
  26.   CASE 'Next Customer'
  27.     FETCH NEXT FROM C1 INTO +
  28.      VCustId ICustId, VLastname ILastname, +
  29.      VCompany ICompany
  30.  
  31.     IF SQLCODE = 100 THEN
  32.       FETCH LAST FROM C1 INTO +
  33.        VCustId ICustId, VLastname ILastname, +
  34.        VCompany ICompany
  35.     ENDIF
  36.     BREAK
  37.  
  38.   CASE 'Previous Customer'
  39.     FETCH PRIOR FROM C1 INTO +
  40.      VCustId ICustId, VLastname ILastname, +
  41.      VCompany ICompany
  42.  
  43.     IF SQLCODE = 100 THEN
  44.       FETCH FIRST FROM C1 INTO +
  45.        VCustId ICustId, VLastname ILastname, +
  46.        VCompany ICompany
  47.     ENDIF
  48.     BREAK
  49.  
  50.   CASE 'Jump Forward "n"'
  51.     DIALOG 'How many to jump forward' VNum=4 VEndKey 1
  52.     SET VAR VPlus = (INT(.VNum))
  53.     FETCH RELATIVE .vplus FROM C1 INTO +
  54.      VCustId ICustId, VLastname ILastname, +
  55.      VCompany ICompany
  56.  
  57.     IF SQLCODE = 100 THEN
  58.       FETCH LAST FROM C1 INTO +
  59.        VCustId ICustId, VLastname ILastname, +
  60.        VCompany ICompany
  61.     ENDIF
  62.     BREAK
  63.  
  64.   CASE 'Jump Backward "n"'
  65.     DIALOG 'How many to jump backward' VNum=4 VEndKey 1
  66.     SET VAR VMinus = (INT(.VNum) * -1)
  67.     FETCH RELATIVE .vminus FROM C1 INTO +
  68.      VCustId ICustId, VLastname ILastname, +
  69.      VCompany ICompany
  70.  
  71.     IF SQLCODE = 100 THEN
  72.       FETCH FIRST FROM C1 INTO +
  73.        VCustId ICustId, VLastname ILastname, +
  74.        VCompany ICompany
  75.     ENDIF
  76.     BREAK
  77.  
  78.   CASE 'Last Customer'
  79.     FETCH LAST FROM C1 INTO +
  80.      VCustId ICustId, VLastname ILastname, +
  81.      VCompany ICompany
  82.     BREAK
  83.  
  84.   CASE 'First Customer'
  85.     FETCH FIRST FROM C1 INTO +
  86.      VCustId ICustId, VLastname ILastname, +
  87.      VCompany ICompany
  88.     BREAK
  89.  
  90.   CASE 'Search by Lastname'
  91.     SET VAR vsearch = NULL
  92.     DIALOG 'Enter the last name to find' +
  93.       VSearch VEndKey 1 at 12
  94.     IF VEndKey = '[Esc]' THEN
  95.       BREAK
  96.     ENDIF
  97.  
  98.     WHILE #PI <> 0.0 THEN
  99.       FETCH NEXT FROM c1 INTO +
  100.        VCustID ICustId, VLastname ILastname, +
  101.        VCompany ICompany
  102.       IF VLastname CONT .VSearch THEN
  103.         BREAK
  104.       ENDIF
  105.  
  106.       IF SQLCODE = 100 THEN
  107.         DIALOG +
  108.          'No match found. Continue search from beginning?' +
  109.          VResp VEndKey YES
  110.         IF VEndKey = '[Esc]' THEN
  111.           BREAK
  112.         ENDIF
  113.         IF VResp = 'YES' THEN 
  114.           FETCH FIRST FROM c1 INTO +
  115.            VCustID ICustId, VLastname ILastname, +
  116.            VCompany ICompany
  117.           IF VLastname CONT .VSearch THEN
  118.             BREAK
  119.           ENDIF
  120.         ELSE
  121.           FETCH LAST FROM c1 INTO +
  122.            VCustID ICustId, VLastname ILastname, +
  123.            VCompany ICompany
  124.           BREAK
  125.         ENDIF
  126.       ENDIF
  127.     ENDWHILE
  128.     BREAK
  129.  
  130.   CASE 'Search by Company'
  131.     SET VAR VSearch = NULL
  132.     DIALOG 'Enter the company to find' +
  133.      VSearch VEndKey 1 at 12
  134.     IF VEndKey = '[Esc]' THEN
  135.       BREAK
  136.     ENDIF
  137.  
  138.     WHILE #PI <> 0.0 THEN
  139.       FETCH NEXT FROM c1 INTO +
  140.        VCustID ICustId, VLastname ILastname, +
  141.        VCompany ICompany
  142.       IF VCompany CONT .VSearch THEN
  143.         BREAK
  144.       ENDIF
  145.  
  146.       IF SQLCODE = 100 THEN
  147.         DIALOG +
  148.          'No match found. Continue search from beginning?' +
  149.          VResp VEndKey YES
  150.         IF VEndKey = '[Esc]' THEN
  151.           BREAK
  152.         ENDIF
  153.         IF VResp = 'YES' THEN 
  154.           FETCH FIRST FROM c1 INTO +
  155.            VCustID ICustId, VLastname ILastname, +
  156.            VCompany ICompany
  157.           IF VCompany CONT .VSearch THEN
  158.             BREAK
  159.           ENDIF
  160.         ELSE
  161.           FETCH LAST FROM c1 INTO +
  162.            VCustID ICustId, VLastname ILastname, +
  163.            VCompany ICompany
  164.           BREAK
  165.         ENDIF
  166.       ENDIF
  167.     ENDWHILE
  168.     BREAK
  169.   ENDSW
  170. ENDWHILE
  171. DROP CURSOR C1
  172. RETURN
  173.  
  174.  
  175.